package com.ruoyi.eam.doman;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 固定资产对象 eam_asset
 *
 * @author ruoyi
 * @date 2024-06-17
 */
public class EamAsset extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资产id */
    private Long assetId;

    /** 供应商编号 */
    @Excel(name = "供应商编号")
    private Long supplierId;

    /** 存放编号 */
    @Excel(name = "存放编号")
    private Long locationId;

    /** 类型编号 */
    @Excel(name = "类型编号")
    private Long TypeId;

    /** 资产编码 */
    @Excel(name = "资产编码")
    private String assetCode;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String assetName;

    /** 资产图片 */
    @Excel(name = "资产图片")
    private String assetImage;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal price;

    /** 数量 */
    @Excel(name = "数量")
    private Long assetNum;

    /** 资产规格 */
    @Excel(name = "资产规格")
    private String asseSpec;

    /** 购买日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购买日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyTime;

    /** 报废日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报废日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scrapTime;

    /** 资产用途 */
    @Excel(name = "资产用途")
    private String assetUse;

    private Long useStatus;

    public Long getUseStatus() {
        return useStatus;
    }

    public void setUseStatus(Long useStatus) {
        this.useStatus = useStatus;
    }

    private EamType eamType;

    private Long incrementValue;

    public Long getIncrementValue() {
        return incrementValue;
    }

    public void setIncrementValue(Long incrementValue) {
        this.incrementValue = incrementValue;
    }

    public EamType getEamType() {
        return eamType;
    }

    public void setEamType(EamType eamType) {
        this.eamType = eamType;
    }

    /** 发票号 */
    @Excel(name = "发票号")
    private String billNum;

    /** 开票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billTime;

    /** 型号 */
    @Excel(name = "型号")
    private String model;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long creator;

    /** 使用人 */
    @Excel(name = "使用人")
    private Long usePerson;

    public void setAssetId(Long assetId)
    {
        this.assetId = assetId;
    }

    public Long getAssetId()
    {
        return assetId;
    }
    public void setSupplierId(Long supplierId)
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId()
    {
        return supplierId;
    }
    public void setLocationId(Long locationId)
    {
        this.locationId = locationId;
    }

    public Long getLocationId()
    {
        return locationId;
    }
    public void setTypeId(Long TypeId)
    {
        this.TypeId = TypeId;
    }

    public Long getTypeId()
    {
        return TypeId;
    }
    public void setAssetCode(String assetCode)
    {
        this.assetCode = assetCode;
    }

    public String getAssetCode()
    {
        return assetCode;
    }
    public void setAssetName(String assetName)
    {
        this.assetName = assetName;
    }

    public String getAssetName()
    {
        return assetName;
    }
    public void setAssetImage(String assetImage)
    {
        this.assetImage = assetImage;
    }

    public String getAssetImage()
    {
        return assetImage;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setAssetNum(Long assetNum)
    {
        this.assetNum = assetNum;
    }

    public Long getAssetNum()
    {
        return assetNum;
    }
    public void setAsseSpec(String asseSpec)
    {
        this.asseSpec = asseSpec;
    }

    public String getAsseSpec()
    {
        return asseSpec;
    }
    public void setBuyTime(Date buyTime)
    {
        this.buyTime = buyTime;
    }

    public Date getBuyTime()
    {
        return buyTime;
    }
    public void setScrapTime(Date scrapTime)
    {
        this.scrapTime = scrapTime;
    }

    public Date getScrapTime()
    {
        return scrapTime;
    }
    public void setAssetUse(String assetUse)
    {
        this.assetUse = assetUse;
    }

    public String getAssetUse()
    {
        return assetUse;
    }
    public void setBillNum(String billNum)
    {
        this.billNum = billNum;
    }

    public String getBillNum()
    {
        return billNum;
    }
    public void setBillTime(Date billTime)
    {
        this.billTime = billTime;
    }

    public Date getBillTime()
    {
        return billTime;
    }
    public void setModel(String model)
    {
        this.model = model;
    }

    public String getModel()
    {
        return model;
    }
    public void setCreator(Long creator)
    {
        this.creator = creator;
    }

    public Long getCreator()
    {
        return creator;
    }
    public void setUsePerson(Long usePerson)
    {
        this.usePerson = usePerson;
    }

    public Long getUsePerson()
    {
        return usePerson;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("assetId", getAssetId())
                .append("supplierId", getSupplierId())
                .append("locationId", getLocationId())
                .append("TypeId", getTypeId())
                .append("assetCode", getAssetCode())
                .append("assetName", getAssetName())
                .append("assetImage", getAssetImage())
                .append("price", getPrice())
                .append("assetNum", getAssetNum())
                .append("asseSpec", getAsseSpec())
                .append("buyTime", getBuyTime())
                .append("scrapTime", getScrapTime())
                .append("assetUse", getAssetUse())
                .append("billNum", getBillNum())
                .append("billTime", getBillTime())
                .append("model", getModel())
                .append("creator", getCreator())
                .append("createTime", getCreateTime())
                .append("usePerson", getUsePerson())
                .toString();
    }
}
